#ifndef TRASH_H
#define TRASH_H

#define maxnoperation 10
#include "XpensItem.h"
#include "PaymentItem.h"
#include <stack>
#include <iostream>
#include <string>
#include <utility>
#include "Search.h"


using namespace std;

class Trash{
private:
	stack < pair <XpensItem, XpensItem> > UndoExpense;
	stack < pair <XpensItem, XpensItem> > RedoExpense;
	stack < pair <PaymentItem, PaymentItem> > UndoPayment;
	stack < pair <PaymentItem, PaymentItem> > RedoPayment;
	stack < int > Operation;
	stack < int > RedoOperation;
//	stack < double > Income;
//	stack < double > UndoIncome;
public:
	void add_Expense( XpensItem, XpensItem );
	void add_Payment( PaymentItem, PaymentItem );
	XpensItem getNewExpense();
	XpensItem getOriginExpense();
	void updateRedoOperation();
	int getOperation();
	int getRedoOperation();
	XpensItem getRedoNewExpense();
	XpensItem getRedoOriginExpense();
	PaymentItem getRedoNewPayment();
	PaymentItem getRedoOriginPayment();
	PaymentItem getNewPayment();
	PaymentItem getOriginPayment();
	void addOperation( int );
	void updateOperation();
//	void add_lastIncome( double );
//	double getIncome();
//	double getUndoIncome();
};
#endif